Type: concept
Confidence: 0.80
Created: 2026-04-25
Updated: 2026-04-25
Tags: code-difffile-operationsversion-controlai-toolsAI工程

unified diff

概述

unified diff 是一种广泛使用的文本差异表示格式,使用标准的 +- 符号来表示新增和删除的行,是大多数版本控制系统和代码工具的基础差异格式。

关键内容

  1. 格式结构
  2. + 表示新增行(通常显示为绿色)
  3. - 表示删除行(通常显示为红色)
  4. @@ 表示差异块的行号范围(通常显示为青色)
  5. 保留行(不变的上下文)用于定位差异位置

  6. Write-Tools 中的应用

  7. apply_patch 工具使用统一差异格式执行文件修改
  8. 作为 Approval Gate 中 diff 展示的标准格式
  9. Claude Code 避免使用此方式,优先推荐 str_replace,因为 LLM 对行号的准确性较差,导致 fuzz 不匹配造成 apply 失败率高

  10. 主要缺点

  11. 行号依赖性:对行号准确性要求很高,当文件结构发生变化时容易出现不匹配
  12. 格式敏感:换行、缩进等格式变化可能导致差异计算错误
  13. 语义盲区:只考虑文本层面的变化,无法理解代码的语义结构

  14. 使用场景

  15. 版本控制系统(如 Git)的差异表示
  16. 代码审查中的变更展示
  17. 文件内容比较工具
  18. 某些 AI 工具的文件修改操作

来源

相关